package com.settlement.system.common.enums;

import org.apache.commons.lang3.StringUtils;

/**
 * RR-费用分配权数
 * @author author
 */
public enum CostAllocationWeightEnum {

    /**
     * 空的构造方法
     */
    CostAllocationWeightEnum() {

    };


    /**
     * 页签
     */
    public enum PAGE_TAB {
        /**
         * 全部
         */
        ALL("全部"),
        /**
         * 汇总
         */
        FTHHZ("发退货汇总"),
        /**
         * 销售
         */
        CZJL("操作记录"),
        /**
         * 客退
         */
        DDLB("订单列表");

        String name;


        PAGE_TAB(String name) {
            this.name = name;
        }


        public String getName() {
            return name;
        }
    }

    /**
     * 费用分配权数-权数类型
     */
    public enum WeightTypeEnum {
        /**
         * 平台账单
         */
        T1("1","当月发退货"),
        /**
         * 营销工具
         */
        T2("2","近3月发货");

        private String no;

        private String name;


        WeightTypeEnum(String no, String name) {
            this.no = no;
            this.name = name;
        }

        public String getName() {
            return name;
        }

        public String getNo() {
            return no;
        }


        /**
         * 根据名称获取编码
         * @param name
         * @return
         */
        public static String getNoByName(String name) {
            if(StringUtils.isEmpty(name)){
                return null;
            }
            WeightTypeEnum[] enums = WeightTypeEnum.values();
            for (int index = 0; index < enums.length; index++) {
                if(enums[index].getName().equals(name)){
                    return enums[index].getNo();
                }
            }
            return " ";
        }

        /**
         * 根据编码获取名称
         * @param no
         * @return
         */
        public static String getNameByNo(String no) {
            WeightTypeEnum[] enums = values();
            for (int index = 0; index < enums.length; index++) {
                if (enums[index].getNo().equals(no)) {
                    return enums[index].getName();
                }
            }
            return null;
        }

    }

    /**
     * 费用分配权数-操作记录-操作类型
     */
    public enum ActionTypeEnum {
        /**
         * 获取
         */
        T1("1","获取"),
        /**
         * 删除
         */
        T2("2","删除");

        private String no;

        private String name;


        ActionTypeEnum(String no, String name) {
            this.no = no;
            this.name = name;
        }

        public String getName() {
            return name;
        }

        public String getNo() {
            return no;
        }


        /**
         * 根据名称获取编码
         * @param name
         * @return
         */
        public static String getNoByName(String name) {
            if(StringUtils.isEmpty(name)){
                return null;
            }
            ActionTypeEnum[] enums = ActionTypeEnum.values();
            for (int index = 0; index < enums.length; index++) {
                if(enums[index].getName().equals(name)){
                    return enums[index].getNo();
                }
            }
            return " ";
        }

        /**
         * 根据编码获取名称
         * @param no
         * @return
         */
        public static String getNameByNo(String no) {
            ActionTypeEnum[] enums = values();
            for (int index = 0; index < enums.length; index++) {
                if (enums[index].getNo().equals(no)) {
                    return enums[index].getName();
                }
            }
            return null;
        }

    }

    /**
     * 费用分配权数-操作记录-状态
     */
    public enum RecordStatusEnum {
        /**
         * 进行中
         */
        T1("1","进行中"),
        /**
         * 已完成
         */
        T2("2","已完成"),
        /**
         * 已完成
         */
        T3("3"," ");

        private String no;

        private String name;


        RecordStatusEnum(String no, String name) {
            this.no = no;
            this.name = name;
        }

        public String getName() {
            return name;
        }

        public String getNo() {
            return no;
        }


        /**
         * 根据名称获取编码
         * @param name
         * @return
         */
        public static String getNoByName(String name) {
            if(StringUtils.isEmpty(name)){
                return null;
            }
            RecordStatusEnum[] enums = RecordStatusEnum.values();
            for (int index = 0; index < enums.length; index++) {
                if(enums[index].getName().equals(name)){
                    return enums[index].getNo();
                }
            }
            return " ";
        }

        /**
         * 根据编码获取名称
         * @param no
         * @return
         */
        public static String getNameByNo(String no) {
            RecordStatusEnum[] enums = values();
            for (int index = 0; index < enums.length; index++) {
                if (enums[index].getNo().equals(no)) {
                    return enums[index].getName();
                }
            }
            return null;
        }

    }


}
